package core.collection.mycollection;

/**
 * 迭代器的原理及源码解析
 * 为什么要单独定义迭代器的接口，不在Collection中进行定义？
 *
 * 迭代器原理：
 *      迭代器是对集合进行遍历，而每一个集合的内部存储结构都是不同的，所以每一个集合存取都是不一样的，那么需要在每一个类中
 *      定义hasNext()和next()方法，这样做是可以的，但是会让集合体系过于臃肿，迭代器是将这样的方法向上抽取出接口，然后在
 *      每个类的内部定义自己的实现方式，好处有二：
 *      1、规定了整个集合体系的遍历方式都是hasNext()和next()
 *      2、代码有底层内部实现，使用者不管怎么实现的，会用即可
 *
 * 迭代器源码解析：
 *      在ArrayList中查找Itr这个内部类，发现重写了Iterator中的所有抽象方法
 *
 * @author
 * @create 2018-12-23 8:31
 **/
public class mycollection_6_Collection_Analysis {
}
